#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include "intlwidget.h"
#include <QMainWindow>
#include <memory>
QT_BEGIN_NAMESPACE
namespace Ui
{
    class MainWindow;
}
QT_END_NAMESPACE

class QClipboard;
namespace dymy
{
    class Text;
}
class QVBoxLayout;
class QTabWidget;
class TextWidget;
class TextPopup;
class IntlWidget;

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
    MainWindow(const MainWindow &) = delete;
    MainWindow &operator=(const MainWindow &) = delete;

private:
    void connect_clipboard() const noexcept;
private slots:
    void on_clipboard_datachanged();

private:
    // Ui::MainWindow *ui;
    QClipboard *clipboard_;
    std::unique_ptr<dymy::Text> lastText_;
    QWidget *cWidget;
    QVBoxLayout *container;
    QTabWidget *tabWidget;
    TextWidget *textWidget;
    TextPopup *textPopup;
    IntlWidget *intlWidget;
};
#endif // MAINWINDOW_H
